package org.example.classtopia.Service;

import org.example.classtopia.Model.dto.*;
import org.example.classtopia.Common.Result.Result;
import jakarta.servlet.http.HttpServletRequest;

import java.util.List;

public interface UserService {
    Result Register(RegisterDTO registerDTO, HttpServletRequest request);
    Result LoginByPassword(LoginByPasswordDTO loginByPasswordDTO, HttpServletRequest request);
    Result LoginByCode(LoginByCodeDTO loginByCodeDTO, HttpServletRequest request);
    Result UpdateCommonData(UpdateCommonDataDTO updateCommonDataDTO, HttpServletRequest request);
    Result UpdatePassword(UpdatePasswordDTO updatePasswordDTO, HttpServletRequest request);
    Result SendVerificationCode(String email, HttpServletRequest request);
    Result ResetPassword(ResetPasswordDTO resetPasswordDTO, HttpServletRequest request);
    Result FindDataByID(FindDataByIDDTO findDataByIDDTO, HttpServletRequest request);
    Result UpdateAvatar(UpdateAvatarDTO updateAvatarDTO, HttpServletRequest request);
    Result Logout(Long id, HttpServletRequest request);
    List<Long> getAllUserIds();
}
